
package ua.trasferta.task22;

import static ua.trasferta.common.team.TeamMember.ALEXEI_FILONOV;
import static ua.trasferta.common.team.TeamMember.ANDREY_ZHDANOV;
import static ua.trasferta.common.team.TeamMember.ANTON_KAYDALOV;
import static ua.trasferta.common.team.TeamMember.ANTON_PODVIAZNIKOV;
import static ua.trasferta.common.team.TeamMember.KATERYNA_TULUZOVA;
import static ua.trasferta.common.team.TeamMember.MARYNA_ALEKSANDROVA;
import static ua.trasferta.common.team.TeamMember.TETIANA_LEVENDOVSKAYA;
import static ua.trasferta.common.team.TeamMember.YULIA_FIL;
import ua.trasferta.common.annotations.createBy;

/**
 * <p>
 * Java class that represents operation(function): has type and parameters.<br>
 * </p>
 * 
 * @author Anton Podviaznikov
 */
@createBy(authors = {ANTON_KAYDALOV, ALEXEI_FILONOV, ANTON_PODVIAZNIKOV, KATERYNA_TULUZOVA, YULIA_FIL, MARYNA_ALEKSANDROVA,
		ANDREY_ZHDANOV, TETIANA_LEVENDOVSKAYA})
public final class Operation
{
	private OperationType type;
	private int[] params;

	public Operation(OperationType type, int[] params)
	{
		super();
		this.type = type;
		this.params = params;
	}

	/**
	 * This smart method will us let 'type' property to get:).
	 * 
	 * @return the value for the 'type' property.
	 */
	public OperationType getType()
	{
		return this.type;
	}

	/**
	 * This smart method will us let 'type' property to set:).
	 * 
	 * @param type - the 'type' to set.
	 */
	public void setType(OperationType type)
	{
		this.type = type;
	}

	/**
	 * This smart method will us let 'params' property to get:).
	 * 
	 * @return the value for the 'params' property.
	 */
	public int[] getParams()
	{
		return this.params;
	}

	/**
	 * This smart method will us let 'params' property to set:).
	 * 
	 * @param params - the 'params' to set.
	 */
	public void setParams(int[] params)
	{
		this.params = params;
	}
}
